A virtual machine is a software implementation of a machine (i.e. a computer) that executes applications like a computing device. A virtual machine may behave like a physical computer and contain its own virtual (i.e., software-based) CPU, RAM hard disk and network interface card (NIC). In some situations, a virtual machine may be provided with portions of physical hardware. For example, a virtual machine may be allocated portions of memory, processing time on a physical processor, or bandwidth on a physical network interface card. In some contexts, a virtual machine may be called a “guest” while the computing device, within which the virtual machine runs, may be called a “host.”